![]() |
PATH![]() |
![]() ![]() |
Your UAM's UAMCall routine is called with a command of UAMGetInfo to get persistent authentication information.
Note
Your UAM's UAMCall routine is called with a command of UAMGetInfo only if bit 4 is set in the configInfo value returned by previously calling UAMCall with a command of UAMOpen .
Before the AFP client calls UAMCall with a command of UAMGetInfo , it calls UAMCall with a command of UAMGetInfoSize to get the size of the persistent authentication information. Then the AFP client allocates a buffer of the appropriate size in the system heap and sets UAMArgs.uamInfo to point to it.
Your implementation of the UAMGetInfo command should copy the persistent authentication information into the buffer pointed to by UAMArgs.uamInfo . The UAM info is part of the VolMountInfoBlk returned by the GetVolMountInfo call and passed as a parameter to the PBMountVol call.
When the client UAM is called by code that implements the PBVolumeMount call, UAMArgs.uamInfo points to the UAMInfo field in the VolMountInfoBlock (if that field is present).
In the case of the PBVolumeMount call or when the AFP client already has a connection to the server, UAMArgs.uamInfo points to a buffer that is of the size returned by GetVolInfoSize .
Note
Your implementation of the UAMGetInfo command should only copy persistent authentication information--it should not copy volume information.
The persistent authentication information returned by the client UAM is read-only and should not be changed. Its persists until the AFP client calls the client UAM's UAMClose command.
The AFP client is responsible for disposing of the buffer that it allocated for storing persistent authentication information.